<?php

declare(strict_types=1);

namespace App\Job;

use App\Service\EsService;
use Hyperf\AsyncQueue\Job;
use Hyperf\Contract\UnCompressInterface;

//use Hyperf\Di\Annotation\Inject;

class EsJob extends Job
{
//
//    /**
//     * @Inject
//     * @var EsService
//     */
//    private $esService;

    public $params;
    public $product_id;
    public $type;

    /**
     * 任务执行失败后的重试次数，即最大执行次数为 $maxAttempts+1 次
     *
     * @var int
     */
    protected $maxAttempts = 2;

    public function __construct($params)
    {

        // 这里最好是普通数据，不要使用携带 IO 的对象，比如 PDO 对象
        $this->params = $params;
        $this->product_id = $params['product_id'];
        $this->type = $params['type'];
    }

    public function handle()
    {
        // 根据参数处理具体逻辑
        // 通过具体参数获取模型等
        // 这里的逻辑会在 ConsumerProcess 进程中执行
//        var_dump($this->product_id);
//        var_dump(intval($this->type));
        $EsService = New EsService();
        $EsService->es_add(intval($this->product_id),intval($this->type));
        $this->compress();
    }

}
